<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no" name="viewport"/>
  <meta content="zh-cn" http-equiv="content-language"/>
  <meta content="总复习 重新来“看书”" name="description"/>
  <link href="/static/favicon.png" rel="icon"/>
  <title>
   总复习 重新来“看书”
  </title>
  <link href="/static/index.css" rel="stylesheet"/>
  <link href="/static/highlight.min.css" rel="stylesheet"/>
  <script src="/static/highlight.min.js">
  </script>
  <meta content="Hexo 4.2.0" name="generator"/>
  <script async="" data-website-id="83e5d5db-9d06-40e3-b780-cbae722fdf8c" defer="" src="https://analyze.lianglianglee.com/umami.js">
  </script>
 </head>
 <body>
  <div class="book-container">
   <div class="book-sidebar">
    <div class="book-brand">
     <a href="/">
      <img src="/static/favicon.png"/>
      <span>
       技术文章摘抄
      </span>
     </a>
    </div>
    <div class="book-menu uncollapsible">
     <ul class="uncollapsible">
      <li>
       <a class="current-tab" href="/">
        首页
       </a>
      </li>
      <li>
       <a href="../">
        上一级
       </a>
      </li>
     </ul>
     <ul class="uncollapsible">
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/00%20%e5%bc%80%e7%af%87%e8%af%8d%20%e7%a8%8b%e5%ba%8f%e5%91%98%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98%ef%bc%8c%e5%a4%a7%e5%a4%9a%e4%b8%8d%e6%98%af%e7%a8%8b%e5%ba%8f%e9%97%ae%e9%a2%98.html" id="00 开篇词 程序员解决的问题，大多不是程序问题.md">
        00 开篇词 程序员解决的问题，大多不是程序问题.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/01%2010x%e7%a8%8b%e5%ba%8f%e5%91%98%e6%98%af%e5%a6%82%e4%bd%95%e6%80%9d%e8%80%83%e7%9a%84%ef%bc%9f.html" id="01 10x程序员是如何思考的？.md">
        01 10x程序员是如何思考的？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/02%20%e4%bb%a5%e7%bb%88%e4%b8%ba%e5%a7%8b%ef%bc%9a%e5%a6%82%e4%bd%95%e8%ae%a9%e4%bd%a0%e7%9a%84%e5%8a%aa%e5%8a%9b%e4%b8%8d%e7%99%bd%e8%b4%b9%ef%bc%9f.html" id="02 以终为始：如何让你的努力不白费？.md">
        02 以终为始：如何让你的努力不白费？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/03%20DoD%e7%9a%84%e4%bb%b7%e5%80%bc%ef%bc%9a%e4%bd%a0%e5%ae%8c%e6%88%90%e4%ba%86%e5%b7%a5%e4%bd%9c%ef%bc%8c%e4%b8%ba%e4%bb%80%e4%b9%88%e4%bb%96%e4%bb%ac%e8%bf%98%e4%b8%8d%e6%bb%a1%e6%84%8f%ef%bc%9f.html" id="03 DoD的价值：你完成了工作，为什么他们还不满意？.md">
        03 DoD的价值：你完成了工作，为什么他们还不满意？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/04%20%e6%8e%a5%e5%88%b0%e9%9c%80%e6%b1%82%e4%bb%bb%e5%8a%a1%ef%bc%8c%e4%bd%a0%e8%a6%81%e5%85%88%e5%81%9a%e5%93%aa%e4%bb%b6%e4%ba%8b%ef%bc%9f.html" id="04 接到需求任务，你要先做哪件事？.md">
        04 接到需求任务，你要先做哪件事？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/05%20%e6%8c%81%e7%bb%ad%e9%9b%86%e6%88%90%ef%bc%9a%e9%9b%86%e6%88%90%e6%9c%ac%e8%ba%ab%e5%b0%b1%e6%98%af%e5%86%99%e4%bb%a3%e7%a0%81%e7%9a%84%e4%b8%80%e4%b8%aa%e7%8e%af%e8%8a%82.html" id="05 持续集成：集成本身就是写代码的一个环节.md">
        05 持续集成：集成本身就是写代码的一个环节.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/06%20%e7%b2%be%e7%9b%8a%e5%88%9b%e4%b8%9a%ef%bc%9a%e4%ba%a7%e5%93%81%e7%bb%8f%e7%90%86%e4%b8%8d%e9%9d%a0%e8%b0%b1%ef%bc%8c%e4%bd%a0%e8%af%a5%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f.html" id="06 精益创业：产品经理不靠谱，你该怎么办？.md">
        06 精益创业：产品经理不靠谱，你该怎么办？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/07%20%e8%a7%a3%e5%86%b3%e4%ba%86%e5%be%88%e5%a4%9a%e6%8a%80%e6%9c%af%e9%97%ae%e9%a2%98%ef%bc%8c%e4%b8%ba%e4%bb%80%e4%b9%88%e4%bd%a0%e4%be%9d%e7%84%b6%e5%9c%a8%e2%80%9c%e5%9d%91%e2%80%9d%e9%87%8c%ef%bc%9f.html" id="07 解决了很多技术问题，为什么你依然在“坑”里？.md">
        07 解决了很多技术问题，为什么你依然在“坑”里？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/08%20%e4%b8%ba%e4%bb%80%e4%b9%88%e8%af%b4%e5%81%9a%e4%ba%8b%e4%b9%8b%e5%89%8d%e8%a6%81%e5%85%88%e8%bf%9b%e8%a1%8c%e6%8e%a8%e6%bc%94%ef%bc%9f.html" id="08 为什么说做事之前要先进行推演？.md">
        08 为什么说做事之前要先进行推演？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/09%20%e4%bd%a0%e7%9a%84%e5%b7%a5%e4%bd%9c%e5%8f%af%e4%bb%a5%e7%94%a8%e6%95%b0%e5%ad%97%e8%a1%a1%e9%87%8f%e5%90%97%ef%bc%9f.html" id="09 你的工作可以用数字衡量吗？.md">
        09 你的工作可以用数字衡量吗？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/10%20%e8%bf%ad%e4%bb%a30_%20%e5%90%af%e5%8a%a8%e5%bc%80%e5%8f%91%e4%b9%8b%e5%89%8d%ef%bc%8c%e4%bd%a0%e5%ba%94%e8%af%a5%e5%87%86%e5%a4%87%e4%bb%80%e4%b9%88%ef%bc%9f.html" id="10 迭代0_ 启动开发之前，你应该准备什么？.md">
        10 迭代0_ 启动开发之前，你应该准备什么？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/11%20%e5%90%91%e5%9f%83%e9%9a%86%c2%b7%e9%a9%ac%e6%96%af%e5%85%8b%e5%ad%a6%e4%b9%a0%e4%bb%bb%e5%8a%a1%e5%88%86%e8%a7%a3.html" id="11 向埃隆·马斯克学习任务分解.md">
        11 向埃隆·马斯克学习任务分解.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/12%20%e6%b5%8b%e8%af%95%e4%b9%9f%e6%98%af%e7%a8%8b%e5%ba%8f%e5%91%98%e7%9a%84%e4%ba%8b%e5%90%97%ef%bc%9f.html" id="12 测试也是程序员的事吗？.md">
        12 测试也是程序员的事吗？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/13%20%e5%85%88%e5%86%99%e6%b5%8b%e8%af%95%ef%bc%8c%e5%b0%b1%e6%98%af%e6%b5%8b%e8%af%95%e9%a9%b1%e5%8a%a8%e5%bc%80%e5%8f%91%e5%90%97%ef%bc%9f.html" id="13 先写测试，就是测试驱动开发吗？.md">
        13 先写测试，就是测试驱动开发吗？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/14%20%e5%a4%a7%e5%b8%88%e7%ba%a7%e7%a8%8b%e5%ba%8f%e5%91%98%e7%9a%84%e5%b7%a5%e4%bd%9c%e7%a7%98%e7%ac%88.html" id="14 大师级程序员的工作秘笈.md">
        14 大师级程序员的工作秘笈.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/15%20%e4%b8%80%e8%b5%b7%e7%bb%83%e4%b9%a0%ef%bc%9a%e6%89%8b%e6%8a%8a%e6%89%8b%e5%b8%a6%e4%bd%a0%e5%88%86%e8%a7%a3%e4%bb%bb%e5%8a%a1.html" id="15 一起练习：手把手带你分解任务.md">
        15 一起练习：手把手带你分解任务.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/16%20%e4%b8%ba%e4%bb%80%e4%b9%88%e4%bd%a0%e7%9a%84%e6%b5%8b%e8%af%95%e4%b8%8d%e5%a4%9f%e5%a5%bd%ef%bc%9f.html" id="16 为什么你的测试不够好？.md">
        16 为什么你的测试不够好？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/17%20%e7%a8%8b%e5%ba%8f%e5%91%98%e4%b9%9f%e5%8f%af%e4%bb%a5%e2%80%9c%e7%a0%8d%e2%80%9d%e9%9c%80%e6%b1%82%e5%90%97%ef%bc%9f.html" id="17 程序员也可以“砍”需求吗？.md">
        17 程序员也可以“砍”需求吗？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/18%20%e9%9c%80%e6%b1%82%e7%ae%a1%e7%90%86%ef%bc%9a%e5%a4%aa%e5%a4%9a%e4%ba%ba%e7%bb%99%e4%bd%a0%e5%ae%89%e6%8e%92%e4%bb%bb%e5%8a%a1%ef%bc%8c%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f.html" id="18 需求管理：太多人给你安排任务，怎么办？.md">
        18 需求管理：太多人给你安排任务，怎么办？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/19%20%e5%a6%82%e4%bd%95%e7%94%a8%e6%9c%80%e5%b0%8f%e7%9a%84%e4%bb%a3%e4%bb%b7%e5%81%9a%e4%ba%a7%e5%93%81%ef%bc%9f.html" id="19 如何用最小的代价做产品？.md">
        19 如何用最小的代价做产品？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/20%20%e4%b8%ba%e4%bb%80%e4%b9%88%e4%b8%96%e7%95%8c%e5%92%8c%e4%bd%a0%e7%9a%84%e7%90%86%e8%a7%a3%e4%b8%8d%e4%b8%80%e6%a0%b7%ef%bc%9f.html" id="20 为什么世界和你的理解不一样？.md">
        20 为什么世界和你的理解不一样？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/21%20%e4%bd%a0%e7%9a%84%e4%bb%a3%e7%a0%81%e4%b8%ba%e8%b0%81%e8%80%8c%e5%86%99%ef%bc%9f.html" id="21 你的代码为谁而写？.md">
        21 你的代码为谁而写？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/22%20%e8%bd%bb%e9%87%8f%e7%ba%a7%e6%b2%9f%e9%80%9a%ef%bc%9a%e4%bd%a0%e6%80%bb%e6%98%af%e5%9c%a8%e5%bc%80%e4%bc%9a%e5%90%97%ef%bc%9f.html" id="22 轻量级沟通：你总是在开会吗？.md">
        22 轻量级沟通：你总是在开会吗？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/23%20%e5%8f%af%e8%a7%86%e5%8c%96%ef%bc%9a%e4%b8%80%e7%a7%8d%e6%9b%b4%e4%b8%ba%e7%9b%b4%e8%a7%82%e7%9a%84%e6%b2%9f%e9%80%9a%e6%96%b9%e5%bc%8f.html" id="23 可视化：一种更为直观的沟通方式.md">
        23 可视化：一种更为直观的沟通方式.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/24%20%e5%bf%ab%e9%80%9f%e5%8f%8d%e9%a6%88%ef%bc%9a%e4%b8%ba%e4%bb%80%e4%b9%88%e4%bd%a0%e4%bb%ac%e5%85%ac%e5%8f%b8%e6%80%bb%e6%98%af%e5%81%9a%e4%b8%8d%e5%a5%bd%e6%8c%81%e7%bb%ad%e9%9b%86%e6%88%90%ef%bc%9f.html" id="24 快速反馈：为什么你们公司总是做不好持续集成？.md">
        24 快速反馈：为什么你们公司总是做不好持续集成？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/25%20%e5%bc%80%e5%8f%91%e4%b8%ad%e7%9a%84%e9%97%ae%e9%a2%98%e4%b8%80%e5%86%8d%e5%87%ba%e7%8e%b0%ef%bc%8c%e5%ba%94%e8%af%a5%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f.html" id="25 开发中的问题一再出现，应该怎么办？.md">
        25 开发中的问题一再出现，应该怎么办？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/26%20%e4%bd%9c%e4%b8%ba%e7%a8%8b%e5%ba%8f%e5%91%98%ef%bc%8c%e4%bd%a0%e4%b9%9f%e5%ba%94%e8%af%a5%e8%81%86%e5%90%ac%e7%94%a8%e6%88%b7%e5%a3%b0%e9%9f%b3.html" id="26 作为程序员，你也应该聆听用户声音.md">
        26 作为程序员，你也应该聆听用户声音.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/27%20%e5%b0%bd%e6%97%a9%e6%9a%b4%e9%9c%b2%e9%97%ae%e9%a2%98%ef%bc%9a%20%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a2%ab%e6%8c%87%e8%b4%a3%e7%9a%84%e6%80%bb%e6%98%af%e4%bd%a0%ef%bc%9f.html" id="27 尽早暴露问题： 为什么被指责的总是你？.md">
        27 尽早暴露问题： 为什么被指责的总是你？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/28%20%e7%bb%93%e6%9e%84%e5%8c%96%ef%bc%9a%e5%86%99%e6%96%87%e6%a1%a3%e4%b9%9f%e6%98%af%e4%b8%80%e7%a7%8d%e5%ad%a6%e4%b9%a0%e6%96%b9%e5%bc%8f.html" id="28 结构化：写文档也是一种学习方式.md">
        28 结构化：写文档也是一种学习方式.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/29%20%e2%80%9c%e6%87%92%e6%83%b0%e2%80%9d%e5%ba%94%e8%af%a5%e6%98%af%e6%89%80%e6%9c%89%e7%a8%8b%e5%ba%8f%e5%91%98%e7%9a%84%e9%aa%84%e5%82%b2.html" id="29 “懒惰”应该是所有程序员的骄傲.md">
        29 “懒惰”应该是所有程序员的骄傲.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/30%20%e4%b8%80%e4%b8%aa%e5%a5%bd%e7%9a%84%e9%a1%b9%e7%9b%ae%e8%87%aa%e5%8a%a8%e5%8c%96%e5%ba%94%e8%af%a5%e6%98%af%e4%bb%80%e4%b9%88%e6%a0%b7%e5%ad%90%e7%9a%84%ef%bc%9f.html" id="30 一个好的项目自动化应该是什么样子的？.md">
        30 一个好的项目自动化应该是什么样子的？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/31%20%e7%a8%8b%e5%ba%8f%e5%91%98%e6%80%8e%e4%b9%88%e5%ad%a6%e4%b9%a0%e8%bf%90%e7%bb%b4%e7%9f%a5%e8%af%86%ef%bc%9f.html" id="31 程序员怎么学习运维知识？.md">
        31 程序员怎么学习运维知识？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/32%20%e6%8c%81%e7%bb%ad%e4%ba%a4%e4%bb%98%ef%bc%9a%e6%9c%89%e6%8c%81%e7%bb%ad%e9%9b%86%e6%88%90%e5%b0%b1%e5%a4%9f%e4%ba%86%e5%90%97%ef%bc%9f.html" id="32 持续交付：有持续集成就够了吗？.md">
        32 持续交付：有持续集成就够了吗？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/33%20%e5%a6%82%e4%bd%95%e5%81%9a%e5%a5%bd%e9%aa%8c%e6%94%b6%e6%b5%8b%e8%af%95%ef%bc%9f.html" id="33 如何做好验收测试？.md">
        33 如何做好验收测试？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/34%20%e4%bd%a0%e7%9a%84%e4%bb%a3%e7%a0%81%e6%98%af%e6%80%8e%e4%b9%88%e5%8f%98%e6%b7%b7%e4%b9%b1%e7%9a%84%ef%bc%9f.html" id="34 你的代码是怎么变混乱的？.md">
        34 你的代码是怎么变混乱的？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/35%20%e6%80%bb%e6%98%af%e5%9c%a8%e8%af%b4MVC%e5%88%86%e5%b1%82%e6%9e%b6%e6%9e%84%ef%bc%8c%e4%bd%86%e4%bd%a0%e7%9c%9f%e7%9a%84%e7%90%86%e8%a7%a3%e5%88%86%e5%b1%82%e5%90%97%ef%bc%9f.html" id="35 总是在说MVC分层架构，但你真的理解分层吗？.md">
        35 总是在说MVC分层架构，但你真的理解分层吗？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/36%20%e4%b8%ba%e4%bb%80%e4%b9%88%e6%80%bb%e6%9c%89%e4%ba%ba%e8%a7%89%e5%be%975%e4%b8%87%e5%9d%97%e9%92%b1%e5%8f%af%e4%bb%a5%e5%81%9a%e4%b8%80%e4%b8%aa%e6%b7%98%e5%ae%9d%ef%bc%9f.html" id="36 为什么总有人觉得5万块钱可以做一个淘宝？.md">
        36 为什么总有人觉得5万块钱可以做一个淘宝？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/37%20%e5%85%88%e5%81%9a%e5%a5%bdDDD%e5%86%8d%e8%b0%88%e5%be%ae%e6%9c%8d%e5%8a%a1%e5%90%a7%ef%bc%8c%e9%82%a3%e5%8f%aa%e6%98%af%e4%b8%80%e7%a7%8d%e9%83%a8%e7%bd%b2%e5%bd%a2%e5%bc%8f.html" id="37 先做好DDD再谈微服务吧，那只是一种部署形式.md">
        37 先做好DDD再谈微服务吧，那只是一种部署形式.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/38%20%e6%96%b0%e5%85%a5%e8%81%8c%e4%b8%80%e5%ae%b6%e5%85%ac%e5%8f%b8%ef%bc%8c%e6%80%8e%e4%b9%88%e5%bf%ab%e9%80%9f%e8%bf%9b%e5%85%a5%e5%b7%a5%e4%bd%9c%e7%8a%b6%e6%80%81%ef%bc%9f.html" id="38 新入职一家公司，怎么快速进入工作状态？.md">
        38 新入职一家公司，怎么快速进入工作状态？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/39%20%e9%9d%a2%e5%af%b9%e9%81%97%e7%95%99%e7%b3%bb%e7%bb%9f%ef%bc%8c%e4%bd%a0%e5%ba%94%e8%af%a5%e8%bf%99%e6%a0%b7%e5%81%9a.html" id="39 面对遗留系统，你应该这样做.md">
        39 面对遗留系统，你应该这样做.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/40%20%e6%88%91%e4%bb%ac%e5%ba%94%e8%af%a5%e5%a6%82%e4%bd%95%e4%bf%9d%e6%8c%81%e7%ab%9e%e4%ba%89%e5%8a%9b%ef%bc%9f.html" id="40 我们应该如何保持竞争力？.md">
        40 我们应该如何保持竞争力？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e5%88%92%e9%87%8d%e7%82%b9%20%e2%80%9c%e7%bb%bc%e5%90%88%e8%bf%90%e7%94%a8%e2%80%9d%e4%b8%bb%e9%a2%98%e5%86%85%e5%ae%b9%e7%9a%84%e5%85%a8%e7%9b%98%e5%9b%9e%e9%a1%be.html" id="划重点 “综合运用”主题内容的全盘回顾.md">
        划重点 “综合运用”主题内容的全盘回顾.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e5%88%92%e9%87%8d%e7%82%b9%20%e2%80%9c%e8%87%aa%e5%8a%a8%e5%8c%96%e2%80%9d%e4%b8%bb%e9%a2%98%e7%9a%84%e9%87%8d%e7%82%b9%e5%86%85%e5%ae%b9%e5%9b%9e%e9%a1%be%e6%b1%87%e6%80%bb.html" id="划重点 “自动化”主题的重点内容回顾汇总.md">
        划重点 “自动化”主题的重点内容回顾汇总.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e5%88%92%e9%87%8d%e7%82%b9%20%e4%b8%80%e6%ac%a1%e5%85%b3%e4%ba%8e%e2%80%9c%e6%b2%9f%e9%80%9a%e5%8f%8d%e9%a6%88%e2%80%9d%e4%b8%bb%e9%a2%98%e5%86%85%e5%ae%b9%e7%9a%84%e5%a4%8d%e7%9b%98.html" id="划重点 一次关于“沟通反馈”主题内容的复盘.md">
        划重点 一次关于“沟通反馈”主题内容的复盘.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e5%88%92%e9%87%8d%e7%82%b9%20%e5%85%b3%e4%ba%8e%e2%80%9c%e4%bb%a5%e7%bb%88%e4%b8%ba%e5%a7%8b%e2%80%9d%ef%bc%8c%e4%bd%a0%e8%a6%81%e8%ae%b0%e4%bd%8f%e7%9a%849%e5%8f%a5%e8%af%9d.html" id="划重点 关于“以终为始”，你要记住的9句话.md">
        划重点 关于“以终为始”，你要记住的9句话.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e5%88%92%e9%87%8d%e7%82%b9%20%e5%85%b3%e4%ba%8e%e2%80%9c%e4%bb%bb%e5%8a%a1%e5%88%86%e8%a7%a3%e2%80%9d%ef%bc%8c%e4%bd%a0%e8%a6%81%e9%87%8d%e7%82%b9%e6%8e%8c%e6%8f%a1%e5%93%aa%e4%ba%9b%e4%ba%8b%ef%bc%9f.html" id="划重点 关于“任务分解”，你要重点掌握哪些事？.md">
        划重点 关于“任务分解”，你要重点掌握哪些事？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e5%8a%a0%e9%a4%90%20%e4%bd%a0%e7%9c%9f%e7%9a%84%e4%ba%86%e8%a7%a3%e9%87%8d%e6%9e%84%e5%90%97%ef%bc%9f.html" id="加餐 你真的了解重构吗？.md">
        加餐 你真的了解重构吗？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e6%80%bb%e5%a4%8d%e4%b9%a0%20%e9%87%8d%e6%96%b0%e5%ae%a1%e8%a7%86%e2%80%9c%e6%9c%80%e4%bd%b3%e5%ae%9e%e8%b7%b5%e2%80%9d.html" id="总复习 重新审视“最佳实践”.md">
        总复习 重新审视“最佳实践”.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e6%80%bb%e5%a4%8d%e4%b9%a0%20%e9%87%8d%e6%96%b0%e6%9d%a5%e2%80%9c%e7%9c%8b%e4%b9%a6%e2%80%9d.html" id="总复习 重新来“看书”.md">
        总复习 重新来“看书”.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e7%ad%94%e7%96%91%e8%a7%a3%e6%83%91%20%e5%a6%82%e4%bd%95%e5%88%86%e8%a7%a3%e4%b8%80%e4%b8%aa%e4%bd%a0%e4%b8%8d%e4%ba%86%e8%a7%a3%e7%9a%84%e6%8a%80%e6%9c%af%e4%bb%bb%e5%8a%a1%ef%bc%9f.html" id="答疑解惑 如何分解一个你不了解的技术任务？.md">
        答疑解惑 如何分解一个你不了解的技术任务？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e7%ad%94%e7%96%91%e8%a7%a3%e6%83%91%20%e5%a6%82%e4%bd%95%e5%9c%a8%e5%ae%9e%e9%99%85%e5%b7%a5%e4%bd%9c%e4%b8%ad%e6%8e%a8%e8%a1%8c%e6%96%b0%e8%a7%82%e5%bf%b5%ef%bc%9f.html" id="答疑解惑 如何在实际工作中推行新观念？.md">
        答疑解惑 如何在实际工作中推行新观念？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e7%ad%94%e7%96%91%e8%a7%a3%e6%83%91%20%e5%a6%82%e4%bd%95%e7%ae%a1%e7%90%86%e4%bd%a0%e7%9a%84%e4%b8%8a%e7%ba%a7%ef%bc%9f.html" id="答疑解惑 如何管理你的上级？.md">
        答疑解惑 如何管理你的上级？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e7%ad%94%e7%96%91%e8%a7%a3%e6%83%91%20%e6%8c%81%e7%bb%ad%e9%9b%86%e6%88%90%e3%80%81%e6%8c%81%e7%bb%ad%e4%ba%a4%e4%bb%98%ef%bc%8c%e7%84%b6%e5%90%8e%e5%91%a2%ef%bc%9f.html" id="答疑解惑 持续集成、持续交付，然后呢？.md">
        答疑解惑 持续集成、持续交付，然后呢？.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e7%ad%94%e7%96%91%e8%a7%a3%e6%83%91%20%e6%8c%81%e7%bb%ad%e9%9b%86%e6%88%90%ef%bc%8c%e4%b8%80%e6%9d%a1%e8%b4%af%e7%a9%bf%e8%af%b8%e5%a4%9a%e5%ae%9e%e8%b7%b5%e7%9a%84%e4%b8%bb%e7%ba%bf.html" id="答疑解惑 持续集成，一条贯穿诸多实践的主线.md">
        答疑解惑 持续集成，一条贯穿诸多实践的主线.md
       </a>
      </li>
      <li>
       <a class="menu-item" href="/%e4%b8%93%e6%a0%8f/10x%e7%a8%8b%e5%ba%8f%e5%91%98%e5%b7%a5%e4%bd%9c%e6%b3%95/%e7%bb%93%e6%9d%9f%e8%af%ad%20%e5%b0%91%e5%81%9a%e4%ba%8b%ef%bc%8c%e6%89%8d%e8%83%bd%e6%9b%b4%e6%9c%89%e6%95%88%e5%9c%b0%e5%b7%a5%e4%bd%9c.html" id="结束语 少做事，才能更有效地工作.md">
        结束语 少做事，才能更有效地工作.md
       </a>
      </li>
      <li>
       <a href="/assets/捐赠.md">
        捐赠
       </a>
      </li>
     </ul>
    </div>
   </div>
   <div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseleave="remove_inner()" onmouseover="add_inner()">
    <div class="sidebar-toggle-inner">
    </div>
   </div>
   <div class="off-canvas-content">
    <div class="columns">
     <div class="column col-12 col-lg-12">
      <div class="book-navbar">
       <header class="navbar">
        <section class="navbar-section">
         <a onclick="open_sidebar()">
          <i class="icon icon-menu">
          </i>
         </a>
        </section>
       </header>
      </div>
      <div class="book-content" style="max-width: 960px; margin: 0 auto;
    overflow-x: auto;
    overflow-y: hidden;">
       <div class="book-post">
        <p align="center" id="tip">
        </p>
        <p class="title">
         总复习 重新来“看书”
        </p>
        <div>
         <p>
          你好，我是郑晔。
         </p>
         <p>
          我们继续复习，在上一讲中，我从最佳实践的角度带领大家回顾了专栏里的一些内容。这一讲，我们换个复习的角度。在专栏进行的过程中，有一些同学注意到我引用了大量的书籍，提出让我把这些书做一个整理。
         </p>
         <p>
          Wei 同学提到：
         </p>
         <blockquote>
          <p>
           有一个小建议： 在每一个主题模块的小结中，把文章中提到的书籍做一个书单方便读者。
          </p>
         </blockquote>
         <p>
          刘晓林 同学提到：
         </p>
         <blockquote>
          <p>
           郑老师在专栏中推荐了很多非常好的书籍作为参考，可否考虑在某一期中，将这些参考书籍整理成一个书单，按照专栏的主题做个小分类，然后每本书简单点评两句作为领读内容。希望在专栏的结束语之前可以看到这个书单。
          </p>
         </blockquote>
         <p>
          Y024 同学甚至在留言中帮我总结了一个
          <a href="http://time.geekbang.org/column/article/90231" target="_blank">
           小清单
          </a>
          ，而有人也在豆瓣上做出了一个
          <a href="http://www.douban.com/doulist/112766085/" target="_blank">
           豆列
          </a>
          ，罗列了专栏中提到的一些书。
         </p>
         <p>
          在今天这一讲中，我就站在“看书”的视角，带着你进行一次复习。这些书大多是在我个人成长过程中，给我留下深刻印象的。
         </p>
         <p>
          我希望你在结束这个专栏学习之后，开启的是另外一段学习历程，用这些书提升自己的水平，夯实自己的基础知识。学习了这个专栏之后，你拥有了一个新的知识结构，再来看这些书就会有一种全新的体验。
         </p>
         <p>
          此外，在这次的内容中，我会提到几本专栏中没有提到的书，算是给你在学习路上的一个补充。我还制作了一个
          <a href="http://www.douban.com/doulist/113366760/" target="_blank">
           豆列
          </a>
          ，方便你去找到这些书。
         </p>
         <h2 id="编码实践">
          编码实践
         </h2>
         <ul>
          <li>
           <p>
            如果你想详细学习如何写好代码，我推荐你去读 Robert Martin 的《
            <a href="http://book.douban.com/subject/4199741/" target="_blank">
             代码整洁之道
            </a>
            》（Clean Code），这本书几乎覆盖了如何把代码写好的方方面面。
           </p>
          </li>
          <li>
           <p>
            《
            <a href="http://book.douban.com/subject/3324516/" target="_blank">
             实现模式
            </a>
            》是一本关于如何写好代码的书，更具体一点是，编写别人能够理解的代码。它的作者 Kent Beck 是许多软件开发实践的开创者。但 Kent Beck 的写作能力一般，他的很多作品被埋没了。只有细细品味，才能体会到 Kent Beck 深厚的功力。
           </p>
          </li>
          <li>
           <p>
            我提升自己编码水平的理解是从《
            <a href="http://book.douban.com/subject/1173548/" target="_blank">
             程序设计实践
            </a>
            》（The Practice of Programming）这本书开始的，这本书的作者是 Brian Kernighan 和 Rob Pike，这两个人都出身于大名鼎鼎的贝尔实验室，参与过 Unix 的开发。
           </p>
          </li>
          <li>
           <p>
            如果你想从日常开发中提升自己的效率，可以读一下《
            <a href="http://book.douban.com/subject/3558788/" target="_blank">
             卓有成效的程序员
            </a>
            》。假如你不曾思考过这个问题，这本书会让看到一些不同的工作方式，我也给这本书写过一篇
            <a href="http://book.douban.com/review/1517237/" target="_blank">
             书评
            </a>
            。不过，这本书里的技巧太具体了，所以，有一些已经有些过时了。
           </p>
          </li>
         </ul>
         <h2 id="设计">
          设计
         </h2>
         <ul>
          <li>
           <p>
            SOLID 原则是一种面向对象软件设计原则。早在1995年，Robert Martin 就提出了这些
            <a href="https://groups.google.com/d/topic/comp.object/WICPDcXAMG8?hl=en" target="_blank">
             设计原则的雏形
            </a>
            ，然后在他的《
            <a href="http://book.douban.com/subject/1140457/" target="_blank">
             敏捷软件开发：原则、实践与模式
            </a>
            》这本书中，比较完整地阐述了这五个原则，后来，他有把这些原则进一步整理，成了今天的 “SOLID”。有了设计原则做基础，这本书后面讲了设计模式，理解起来就容易多了。虽然书名是关于敏捷的，但这是一本讲设计的书。
           </p>
          </li>
          <li>
           <p>
            设计和架构有什么区别？2017年，Robert Martin 出版了《
            <a href="http://book.douban.com/subject/30333919/" target="_blank">
             架构整洁之道
            </a>
            》（Clean Architecture），他在其中告诉我们，二者没有区别。所以，这也是一本关于设计的书，给出了 Robert Martin 对设计的最新理解。你可以把它看成《
            <a href="http://book.douban.com/subject/1140457/" target="_blank">
             敏捷软件开发：原则、实践与模式
            </a>
            》的修订版。
           </p>
          </li>
          <li>
           <p>
            《
            <a href="http://book.douban.com/subject/1052241/" target="_blank">
             设计模式
            </a>
            》
            <strong>
             不推荐阅读
            </strong>
            ，它是设计模式的开山之作，但它的起点是 Erich Gamma 的博士论文，其写作风格偏向学术，而且中文版翻译得也很一般。这里将它罗列出来只是因为其历史重要性。如果你想学习设计模式，现在有一些更容易入门的书，比如《
            <a href="http://book.douban.com/subject/2243615/" target="_blank">
             Head First 设计模式
            </a>
            》。
           </p>
          </li>
          <li>
           <p>
            Martin Fowler 的《
            <a href="http://book.douban.com/subject/1230559/" target="_blank">
             企业应用架构模式
            </a>
            》将软件开发当时常见的解决方案汇集成模式，今天看来很多模式已经习以为常，但当年出场可是技惊四座的。从这本书的名字你不难看出，它出版的年代是企业级开发盛行的年代。
            <a href="http://www.martinfowler.com/eaaDev/" target="_blank">
             Martin Fowler 一直认为这本书没有写完
            </a>
            ，希望能够继续更新，但不知道何时能看到这本书的新版。
           </p>
          </li>
          <li>
           <p>
            《
            <a href="http://book.douban.com/subject/1467587/" target="_blank">
             Unix 编程艺术
            </a>
            》也是一本讲软件设计的书，只不过，它选择的切入点是 Unix 中的设计，从中你可以学到“只做一件事，把它做好”、“文本化”等编程理念，有助于你改善日常的工作。这样的书，也就只有 Eric Raymond 这样沉浸编程几十年的人才能写出来。
           </p>
          </li>
         </ul>
         <h2 id="工程实践">
          工程实践
         </h2>
         <ul>
          <li>
           <p>
            Kent Beck 有一本知名的软件工程之作《
            <a href="http://book.douban.com/subject/6828074/" target="_blank">
             解析极限编程
            </a>
            》（Extreme Programming Explained），它介绍了一种软件开发方法：极限编程。但更重要的是，今天很多主流的软件开发最佳实践都是从这里出来的。这本书可以理解成诸多最佳工程实践的总纲。
           </p>
          </li>
          <li>
           <p>
            Martin Fowler 在1999年写下软件行业的名著《
            <a href="http://book.douban.com/subject/4262627/" target="_blank">
             重构：改善既有代码的设计
            </a>
            》（Refactoring: Improving the Design of Existing Code），把重构这个小圈子实践带到了大众视野。2018年底，Martin Fowler 时隔近20年后，又写出了
            <a href="http://book.douban.com/subject/30468597/" target="_blank">
             《重构》第二版
            </a>
            。把他对这些年行业发展的新理解融入到重构实践中。重构应该有个目标，这个目标就是“重构成模式”，而这也是一本专门的书：《
            <a href="http://book.douban.com/subject/5360962/" target="_blank">
             重构与模式
            </a>
            》（Refactoring to Patterns）。
           </p>
          </li>
          <li>
           <p>
            《
            <a href="http://book.douban.com/subject/1230036/" target="_blank">
             测试驱动开发
            </a>
            》是 Kent Beck 为世人展示 TDD 做法的一本书。它好的地方需要自己体会，Kent Beck 并没有显式的讲出来，比如：任务分解。
           </p>
          </li>
          <li>
           <p>
            Jez Humble 和 Dave Farley 的《
            <a href="http://book.douban.com/subject/6862062/" target="_blank">
             持续交付
            </a>
            》（Continuous Delivery）让持续集成再进一步，将生产环境纳入了考量。乔梁，他是《持续交付》这本书的中文版译者，而且在这本书出版近十年后，他自己写了《
            <a href="http://book.douban.com/subject/30419555/" target="_blank">
             持续交付 2.0
            </a>
            》，把自己多年来关于持续交付的新理解整理了进去。
           </p>
          </li>
          <li>
           <p>
            说到遗留代码和测试，我推荐一本经典的书：Michael Feathers 的《
            <a href="http://book.douban.com/subject/2248759/" target="_blank">
             修改代码的艺术
            </a>
            》（Working Effectively with Legacy Code），从它的英文名中，你就不难发现，它就是一本关于遗留代码的书。如果你打算处理遗留代码，也建议你读读这本书。这本书我也写过
            <a href="http://book.douban.com/review/1226942/" target="_blank">
             书评
            </a>
            ，你可以了解一下我对它看法。
           </p>
          </li>
         </ul>
         <h2 id="领域驱动设计">
          领域驱动设计
         </h2>
         <ul>
          <li>
           <p>
            Eric Evans 2003年写了《
            <a href="http://book.douban.com/subject/1629512/" target="_blank">
             领域驱动设计
            </a>
            》，向行业介绍一下 DDD 这套方法论，立即在行业中引起广泛的关注。但实话说，Eric 在知识传播上的能力着实一般，这本关于 DDD 的开山之作，其写作质量却难以恭维，想要通过它去学好 DDD，是非常困难的。所以，在国外的技术社区中，有很多人是通过各种交流讨论逐渐认识到 DDD 的价值所在，而在国内 ，DDD 几乎没怎么掀起波澜。
           </p>
          </li>
          <li>
           <p>
            2013年，在 Eric Evans 出版《领域驱动设计》十年之后，DDD 已经不再是当年吴下阿蒙，有了自己一套比较完整的体系。Vaughn Vernon 将十年的精华重新整理，写了一本《
            <a href="http://book.douban.com/subject/25844633/" target="_blank">
             实现领域驱动设计
            </a>
            》，普通技术人员终于有机会看明白 DDD 到底好在哪里了。所以，你会发现，最近几年，国内的技术社区开始出现了大量关于 DDD 的讨论。
           </p>
          </li>
          <li>
           <p>
            因为《实现领域驱动设计》实在太厚，Vaughn Vernon 又出手写了一本精华本《
            <a href="http://book.douban.com/subject/30333944/" target="_blank">
             领域驱动设计精粹
            </a>
            》，让人可以快速上手 DDD，这本书也是我向其他人推荐学习 DDD 的首选。
           </p>
          </li>
         </ul>
         <h2 id="产品与需求">
          产品与需求
         </h2>
         <ul>
          <li>
           <p>
            精益创业是 Eric Ries 最早总结出来的。他在很多地方分享他的理念，不断提炼，最终在2011年写成一本同名的书：《
            <a href="http://book.douban.com/subject/10945606/" target="_blank">
             精益创业
            </a>
            》。如果说精益创业是理论，《
            <a href="http://book.douban.com/subject/20505765/" target="_blank">
             精益创业实战
            </a>
            》这本书则给了你一个操作流程。
           </p>
          </li>
          <li>
           <p>
            Mike Cohn 是敏捷理念的一个重要传播者，我们在讲测试金字塔时，提到了他的著作《
            <a href="http://book.douban.com/subject/5334585/" target="_blank">
             Scrum敏捷软件开发
            </a>
            》（Succeeding with Agile）。敏捷开发有两大流派：一派是工程实践，另一派是管理实践。如果你对 Scrum 这类管理实践感兴趣，可以读一下这本书。
           </p>
          </li>
          <li>
           <p>
            如果你对用户故事这个话题感兴趣，推荐阅读 Mike Cohn 的两本书《
            <a href="http://book.douban.com/subject/4743056/" target="_blank">
             用户故事与敏捷方法
            </a>
            》（User Stories Applied）和《
            <a href="http://book.douban.com/subject/26811747/" target="_blank">
             敏捷软件开发实践 估算与计划
            </a>
            》（Agile Estimating and Planning）。
           </p>
          </li>
         </ul>
         <h2 id="开发文化">
          开发文化
         </h2>
         <ul>
          <li>
           <p>
            软件行业里有一本名著叫《
            <a href="http://book.douban.com/subject/1102259/" target="_blank">
             人月神话
            </a>
            》，这算是软件开发领域第一本反思之作。今天，我们讨论的很多词汇都出自这本书，比如，没有银弹、焦油坑等等。虽然这本书出版于1975年，但其中提到的问题，依然困扰着今天的程序员。
           </p>
          </li>
          <li>
           <p>
            开源概念的提出者 Eric Raymond，他的《
            <a href="http://book.douban.com/subject/25881855/" target="_blank">
             大教堂与集市
            </a>
            》推开了开源大门。今天开源软件已经成为程序员日常工作的一部分，但如果没有 Eric Raymond 这些人的努力，我们还必须与复杂的企业级软件搏斗。了解一下开源的历程，可以帮助你更好地理解今天的幸福。
           </p>
          </li>
          <li>
           <p>
            程序员应该如何做，Robert Martin 也写了一本书《
            <a href="http://book.douban.com/subject/11614538/" target="_blank">
             程序员的职业素养
            </a>
            》（Clean Coder），其中对大多数程序员最重要的一点建议是，说“不”。
           </p>
          </li>
         </ul>
         <h2 id="软件开发拾遗">
          软件开发拾遗
         </h2>
         <ul>
          <li>
           <p>
            高德纳的《
            <a href="http://book.douban.com/subject/26681685/" target="_blank">
             计算机程序设计艺术
            </a>
            》肯定是一套程序员都知道，但没几个人读完的书。算法的讲解经过几十年已经有了很好的发展，如果学算法，肯定有更好的选择。如果你想看图灵奖获得者如何从根源上思考问题，不妨找来这套书来翻翻。
           </p>
          </li>
          <li>
           <p>
            《
            <a href="http://book.douban.com/subject/3151486/" target="_blank">
             快速软件开发
            </a>
            》（Rapid Development），
            <strong>
             不推荐阅读
            </strong>
            。在这本书中，作者首次提出了解决集成问题的优秀实践：Daily Build，每日构建。通过这个名字，我们便不难看出它的集成策略，即每天集成一次。其中很多实践在当时是先进的，但今天看来有些落伍了。如果你只想从中收获一些理念性的东西，可以去读读。
           </p>
          </li>
          <li>
           <p>
            《
            <a href="http://book.douban.com/subject/1139336/" target="_blank">
             C 程序设计语言
            </a>
            》《
            <a href="http://book.douban.com/subject/1033144/" target="_blank">
             Unix 编程环境
            </a>
            》等出自贝尔实验室大师级程序员之手，他们的书都值得一读，其中的内容今天看来可能有些过时，但他们解决问题的方式和手法却值得慢慢品味。
           </p>
          </li>
          <li>
           <p>
            我在讲淘宝技术变迁时，提到了《
            <a href="http://book.douban.com/subject/24335672/" target="_blank">
             淘宝技术这十年
            </a>
            》，这本书算不上经典，但可以当作休闲读物。
           </p>
          </li>
         </ul>
         <h2 id="技术之外">
          技术之外
         </h2>
         <ul>
          <li>
           <p>
            管理大师彼得·德鲁克有一本经典著作《
            <a href="http://book.douban.com/subject/1322025/" target="_blank">
             卓有成效的管理者
            </a>
            》，虽然标题上带着管理者几个字，但在我看来，这是一本告诉我们如何工作的书，每个人都可以读一下。
           </p>
          </li>
          <li>
           <p>
            尤瓦尔·赫拉利的《
            <a href="http://book.douban.com/subject/25985021/" target="_blank">
             人类简史
            </a>
            》或《
            <a href="http://book.douban.com/subject/26943161/" target="_blank">
             未来简史
            </a>
            》，是我第一次学到“大历史观”这个说法，历史不再是一个个单独的历史事件，而是一个有内在逻辑的发展脉络。
           </p>
          </li>
          <li>
           <p>
            《
            <a href="http://book.douban.com/subject/1102715/" target="_blank">
             从一到无穷大
            </a>
            》是一本著名科普著作，它向我们介绍了20世纪以来的科学进展。作者乔治·伽莫夫既是热宇宙大爆炸模型的提出者，也是生物学上最早提出“遗传密码”模型的人。虽然这本书是1947年出版的，但以现在社会的整体科学素养，还是有必要读读这本书的。
           </p>
          </li>
          <li>
           <p>
            史蒂芬·柯维（Stephen Richards Covey）的《
            <a href="http://book.douban.com/subject/26284789/" target="_blank">
             高效能人士的七个习惯
            </a>
            》，其中的理念我在专栏两个不同的地方提到过，一个是讲以终为始时，那段关于智力创造的论述，另一个是讲优先级时提到的艾森豪威尔矩阵。这本书值得每个人阅读，很多程序员欠缺的就是这些观念性的东西。
           </p>
          </li>
          <li>
           <p>
            很多程序员都是科幻小说迷，编程和科幻，这两个都是需要想象力的领域。刘慈欣的《
            <a href="http://book.douban.com/subject/6518605/" target="_blank">
             三体
            </a>
            》，不说它给 IT 行业带来的丰富的词汇表吧，作为科幻小说来说，它就是一流的，值得阅读。它会让你仰望星空，打开思维。如果你对科幻小说有兴趣，推荐阅读阿西莫夫的《
            <a href="http://book.douban.com/subject/26389895/" target="_blank">
             银河帝国
            </a>
            》系列，这是科幻小说界的扛鼎之作，你会看到，一部出版于1942年的书里就有大数据的身影。
           </p>
          </li>
          <li>
           <p>
            对于程序员来说，最好的工作状态就是进入心流，它会让你忘我工作。如果你对心流的概念感兴趣，可以去读米哈里·契克森米哈赖的著作《
            <a href="http://book.douban.com/subject/27186106/" target="_blank">
             心流
            </a>
            》，这位作者就是心流概念的提出者。
           </p>
          </li>
         </ul>
         <p>
          好，今天的复习就到这里，你有哪些经典的书可以推荐给这个专栏的同学呢？欢迎在留言区写下分享你的想法。
         </p>
         <p>
          感谢阅读，如果你觉得这篇文章对你有帮助的话，也欢迎把它分享给你的朋友。
         </p>
        </div>
       </div>
       <div>
        <div id="prePage" style="float: left">
        </div>
        <div id="nextPage" style="float: right">
        </div>
       </div>
      </div>
     </div>
    </div>
    <div class="copyright">
     <hr/>
     <p>
      © 2019 - 2023
      <a href="/cdn-cgi/l/email-protection#1d71717124292c2c2d2a5d7a707c7471337e7270" target="_blank">
       Liangliang Lee
      </a>
      .
                    Powered by
      <a href="https://github.com/gin-gonic/gin" target="_blank">
       gin
      </a>
      and
      <a href="https://github.com/kaiiiz/hexo-theme-book" target="_blank">
       hexo-theme-book
      </a>
      .
     </p>
    </div>
   </div>
   <a class="off-canvas-overlay" onclick="hide_canvas()">
   </a>
  </div>
  <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js">
  </script>
  <script>
   (function(){var js = "window['__CF$cv$params']={r:'82250c74c943fa5a',t:'MTY5OTM1NDU3Ni4yNTQwMDA='};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js',document.getElementsByTagName('head')[0].appendChild(_cpo);";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();
  </script>
  <script crossorigin="anonymous" data-cf-beacon='{"rayId":"82250c74c943fa5a","version":"2023.10.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","b":1}' defer="" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317">
  </script>
 </body>
 <script async="" src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756">
 </script>
 <script src="/static/index.js">
 </script>
</html>
